	


$(function(){
	
	//日期格式化
	Date.prototype.Format = function (fmt) { //author: meizz 
	    var o = {
	        "M+": this.getMonth() + 1, //月份 
	        "d+": this.getDate(), //日 
	        "h+": this.getHours(), //小时 
	        "m+": this.getMinutes(), //分 
	        "s+": this.getSeconds(), //秒 
	        "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
	        "S": this.getMilliseconds() //毫秒 
	    };
	    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
	    for (var k in o)
	    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
	    return fmt;
	}
		
	
	/**
	 * 初始化页面的下拉列表
	 */
	var selectList = {
			
		initSelectList :function(){
			
		//初始化收入支出多选框
			$('#income_expense').select2({
		          placeholder: '选择收支类型',
				  allowClear:true,
				  data:[{ id: '0', text: '收入' },{ id: '1', text: '支出' }],
				  language: "zh-CN"
		   });

			//初始化账目类型下拉列表	
			 var acctTypeSelect= $('#acct_type').select2({
			        placeholder: '选择账目类型',
			        allowClear:true,
			        language: "zh-CN"
			    });
					
			$.ajax({
		      type: "post",
		      url: ctxPath+"/dataRecord/listAcctType.do",
		      dataType:"json",
		      success : function(result){
		    	  for(var i in result){
		    		  acctTypeSelect.append("<option value='"+result[i].typecode+"'>"+result[i].typename+"</option>");
		 
		    	  }

		      }
		    });
		
		//初始化来源下拉列表	
		 var sourceSelect= $('#source').select2({
		        placeholder: '选择来源',
		        allowClear:true,
		        language: "zh-CN"
		    });
				
		$.ajax({
	      type: "post",
	      url: ctxPath+"/dataRecord/listSource.do",
	      dataType:"json",
	      success : function(result){
	    	  for(var i in result){
	    		  sourceSelect.append("<option value='"+result[i].departmentNo+"'>"+result[i].departmentName+"</option>");
	    	  }

	      }
	    });
			
		}
	}	 
	selectList.initSelectList();
	
	
	

	//初始化时间控件
	var max = new Date();
	laydate.render({
		
		elem:'#search_start_time',
		max:max.Format('yyyy-MM-dd')
		//value: max.Format("yyyy-MM-dd")
	});
	
	//初始化时间控件
	laydate.render({
		
		elem:'#search_end_time',
		max:max.Format('yyyy-MM-dd')
		//value: max.Format("yyyy-MM-dd")
		
	});
	

	
    	  
    	

	/**
	 * 执行条件重置
	 */
	$("#reset_btn").on("click", function() { 
		 $("#income_expense").val('选择收支类型').trigger("change");
		 $("#acct_type").val('选择账目类型').trigger("change");
		 $('#search_start_time').val("");
		 $('#search_end_time').val("");
		
	});
		

	/**
	 * jqgrid查看电子对账记录表记录
	 */
	var  DataStatement = {
			initDataStatementGrid : function() {
				function beforeSelectRow() {  //每次选中一行
					$("#grid_area").jqGrid('resetSelection');
					return true;
				}
				var DataStatementGrid = $("#grid_area").jqGrid({
						url : ctxPath +'/dataReport/listDataState.do',
						multiselect : true,
						multiboxonly : true,
						beforeSelectRow : beforeSelectRow,// js方法
						colNames : ['id', '收支类型','来源','账目类型','时间', '金额（单位：元）'],//jqGrid的列显示名字
						colModel : [ //jqGrid每一列的配置信息。包括名字，索引，宽度,对齐方式
						             {name : 'id', index : 'id',sortable:false,hidden:true,width:"160"},
						             {name : 'income_expense', index : 'income_expense',sortable:false,width:"160"},
						             {name : 'departmentName', index : 'departmentName',sortable:false,width:"200"},
						             {name : 'typeName', index : 'typeName',sortable:false,width:"215"},
						             {name : 'occurTime', index : 'occurTime',sortable:false,align:"center",width:"260",
						            	 formatter : function(cellvalue, options, rowObject) {
							            		if(cellvalue){return new Date(cellvalue).format("yyyy-MM-dd");}
							            		return ''; }
						             },
						             {name : 'money', index : 'money',align:"right",width:"240",
						            	 formatter:'number', formatoptions:{
						            		 decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, defaultValue: '0.00' 
						            			 }
						             },
									
									
						           ],
						            shrinkToFit:false,
						            autoScroll :true,
						            rowNum : 10,//一页显示多少条
									rowList : [ 10, 20, 30 ],//可供用户选择一页显示多少条
									pager : '#page_area',//表格页脚的占位符(一般是div)的id
									viewDataStatements : true,
									height:260,
									emptyDataStatements:"未找到相关记录",
									caption : "流水记录表"//表格的标题名字
				});
				
				
				$("#grid_area").closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "scroll" }); //横向滚动条
				 
				$("#cb_grid_area").hide()//隐藏全选按钮
				//表头居中
				$(".ui-jqgrid-sortable").css("text-align","center");
				
			
				return DataStatementGrid;
			}
		};
		

	 DataStatement.init = function(){		
		 DataStatement.DataStatementGrid = DataStatement.initDataStatementGrid();// 初始对账记录列表
		}
		
	 DataStatement.init();
	
	 /**
	 * 执行查询
	 */
 $("#search_btn").on("click", function() { 
	 
	 
		var income_expense=$("#income_expense").val();
		var acct_type=$("#acct_type").val();
		
		
 	DataStatement.DataStatementGrid.setGridParam({
				postData :{
				 
		    	  "incomeExpense": income_expense,
		    	  "acctType":acct_type,
		    	  "searchStartTime":$('#search_start_time').val(),
		    	  "searchEndTime":$('#search_end_time').val()
				},
				page : 1
			});
 	DataStatement.DataStatementGrid.trigger("reloadGrid");
		});
		
 
 
 
 
  /**
  * 修改操作
  */
//初始化模态框里面的收入支出多选框
	var incomeExpenseModel=$('#income_expense_model').select2({
    placeholder: '选择收支类型',
		  allowClear:true,
		  data:[{ id: '0', text: '收入' },{ id: '1', text: '支出' }],
		  language: "zh-CN"
  });
	
	//初始化账目类型下拉列表	
	 var acctTypeSelectModel= $('#acct_type_model').select2({
	        placeholder: '选择账目类型',
	        allowClear:true,
	        language: "zh-CN"
	    });
	 
	//初始化来源下拉列表	
	 var sourceSelectModel= $('#source_model').select2({
	        placeholder: '选择账目来源',
	        allowClear:true,
	        language: "zh-CN"
	    });
 
 
	 
	 /**
		 * 初始化模态框里面的下拉列表
		 */
		var modelSelectList = {
				
			initModelSelectList :function(){	
			$.ajax({
		      type: "post",
		      url: ctxPath+"/dataRecord/listAcctType.do",
		      dataType:"json",
		      data:{"inOutFlag":$("#income_expense_model").val()},
		      success : function(result){
		    	  acctTypeSelectModel.empty();
		    	  acctTypeSelectModel.append("<option value=''>选择账目类型</option>");
		    	  for(var i in result){
		    		  acctTypeSelectModel.append("<option value='"+result[i].typecode+"'>"+result[i].typename+"</option>");
		    	  }

		      }
		    });
			$.ajax({
		      type: "post",
		      url: ctxPath+"/dataRecord/listSource.do",
		      dataType:"json",
		      success : function(result){
		    	  sourceSelectModel.empty();
		    	  sourceSelectModel.append("<option value=''>选择账目来源</option>");
		    	  for(var i in result){
		    		  sourceSelectModel.append("<option value='"+result[i].departmentno+"'>"+result[i].departmentname+"</option>");
		    	  }

		      }
		      });	
			
			}
		}	
	
		

	
	//初始化时间控件
	var max = new Date();
	laydate.render({
		elem:'#occurTime_model',
		max:max.Format('yyyy-MM-dd')
		
	});
	 

//点击修改	 
 $("#record_edit").on("click", function() { 
	 var re_records = $("#grid_area").jqGrid('getGridParam', 'records'); //获取数据总条数  
		if(re_records==0){  
		    layer.msg('没有可以修改的记录！',{icon: 2});
		    return false;  
		}
	 
	 var rowId=$("#grid_area").jqGrid("getGridParam","selrow");	
	 if(!rowId){
			layer.msg("请选择要修改的流水记录！",{icon:0,time:2000});
			return ;
		}
	
	 
	 $('#myModal').modal('show');  //显示模态框，并且是在判断了jqgrid有选中记录后才能弹出模态框
	 
	 var rowData = $("#grid_area").jqGrid("getRowData",rowId);	
	 var edit_Modal = document.getElementById('myform');
	 $mainPageModal = $(edit_Modal);
	    var id_edit;
		var income_expense_edit = document.getElementById('income_expense_model');
		var source_edit =document.getElementById('source_model');
		var acct_type_edit = document.getElementById('acct_type_model');
		
		
		var occurTime_edit = $mainPageModal.find('#occurTime_model');
		var money_edit = $mainPageModal.find('#money_model');
		

	    for(var i = 0 ;i< income_expense_edit.options.length;i++){  
	            if(income_expense_edit.options[i].text==rowData.income_expense){  
	            	//income_expense_edit.options[i].selected=true; 
	            	//$(income_expense_edit).val(rowData.income_expense);
	            	//$(income_expense_edit).find('option').eq(i).attr('selected',true);	            	
	            	 document.getElementById('income_expense_model')[i].selected=true; 
	            	
	            	 var v=$("#income_expense_model option:selected").val();  //获取选中的项

	            } 
	            
	        }  
//		
//	    if($("#income_expense_model").val()!=""){
//	    	//当有了收支类型之后才初始化其他下拉列表	
	    	modelSelectList.initModelSelectList();
//	    	 
//			 for(var j = 0 ;j< acct_type_edit.options.length;j++){  
//		            if(acct_type_edit.options[j].text==rowData.typeName){  
//		            	acct_type_edit.options[j].selected=true;    
//		            	$(acct_type_edit).find('option').eq(j).attr('selected',true);
//		                break;    
//		            }  
//		        }  
//			 
//			 for(var k = 0 ;k< source_edit.options.length;k++){  
//		            if(source_edit.options[k].text==rowData.source){  
//		            	source_edit.options[k].selected=true; 
//		            	$(source_edit).find('option').eq(k).attr('selected',true);
//		                break;    
//		            }  
//		        }  
//			
//
//	    }
//		
		
		occurTime_edit.val(rowData.occurTime);
		money_edit.val(rowData.money);
		//点击提交
		$('#confirm').click(function(){
			var fundJournal=new Object();
			fundJournal.id=rowData.id;
			fundJournal.incomeExpense=$("#income_expense_model").val();
			fundJournal.accttype=$("#acct_type_model").val();
			fundJournal.occurtime=$("#occurTime_model").val();
			fundJournal.money=$("#money_model").val();
			fundJournal.source=$("#source_model").val();
			
			//调用修改数据的方法
			edit_data(fundJournal);
		})
	 
	 
 })
 
 
 //点击删除	 
 $("#record_delete").on("click", function() { 
	 var re_records = $("#grid_area").jqGrid('getGridParam', 'records'); //获取数据总条数  
		if(re_records==0){  
		    layer.msg('没有可以修改的记录！',{icon: 2});
		    return false;  
		} 
		
	 var rowId=$("#grid_area").jqGrid("getGridParam","selrow");	
	 if(!rowId){
			layer.msg("请选择要删除的流水记录！",{icon:0,time:2000});
			return ;
		}
	
	 
	 
	 var rowData = $("#grid_area").jqGrid("getRowData",rowId);
	 $.ajax({
		 data : {"id":rowData.id },
		  		type: "post",
		  		url: ctxPath + "/dataRecord/deleteByPrimaryKey.do",
		  		dataType:"json",
		  		success : function(data){  				
					if(data.status=='0'){
						layer.alert("数据删除成功！");
						DataStatement.DataStatementGrid.trigger("reloadGrid");
					}
					else{
						layer.alert("数据删除失败！");
						DataStatement.DataStatementGrid.trigger("reloadGrid");
					}
		  		}
	 })
 })

 
 
 
 
 
 
	/**
	 * 执行导出验证jqfrid是否有记录，有记录才能导出
	 */			
	$("#form").submit(function() {
		var re_records = $("#grid_area").jqGrid('getGridParam', 'records'); //获取数据总条数  
		if(re_records==0){  
		    layer.msg('没有可以导出的记录！',{icon: 2});
		    return false;  
		}
		return true;    	
	}) 
	



	//数据修改
	function edit_data(fundJournal){
		var myform =document.getElementById('myform');
		$myform = $(myform);
		//验证输入的注册信息 
		validateAll($myform);
		//将账号的不符原因更新
		if(validResult){	
			var jsonStr=JSON.stringify(fundJournal);
			//根据id进行资金流水修改	
			$.ajax({
				data:{"jsonStr":jsonStr},
		  		type: "post",
		  		url: ctxPath + "/dataRecord/updateByPrimaryKey.do",
		  		dataType:"json",
		  		success : function(data){  				
					if(data.status=='0'){
						layer.alert("数据修改成功！");
						$('#myModal').modal('hide');   //关闭模态框
						DataStatement.DataStatementGrid.trigger("reloadGrid");  //重新加载表格
					}
					else{
						layer.alert("数据修改失败！");
						$('#myModal').modal('hide');  //关闭模态框
						DataStatement.DataStatementGrid.trigger("reloadGrid");  //重新加载表格
					}
		  		}
			});
		}

		
	}

	
	
	
	
	
	
	
	
	 
})







	
	
//验证录入信息
	function validateAll(elem){
		   validResult = false; 
			/*收支类型验证incomeExpense*/
			var incomeExpense = $("#income_expense_model").val();
			if(!incomeExpense){
				validResult = false;					
				layer.alert("请选择收支类型！");
				return;
			}			
			/*来源验证source*/
			   var source=$("#source_model").val();
			   if(!source){
					validResult = false;					
					layer.alert("请输入来源！");
					return;
				}
			/*账目类型验证acctType*/
			var acctType = $("#acct_type_model").val();
			if(!acctType){
				validResult = false;					
				layer.alert("请选择账目类型！");
				return;
			}
			/*日期验证occurTime*/
			   var occurtime=$("#occurTime_model").val();
			   if(!occurtime){
					validResult = false;					
					layer.alert("请选择日期和时间！");
					return;
				} 		

			/*金额验证money*/
			  var money=$("#money_model").val();
			  if(!money){
					validResult = false;					
					layer.alert("请输入金额！");
					return;
				}
				var trade_money = money;
				var reg = /^([1-9]\d{0,9}|0)([.]?|(\.\d{1,2})?)$/;
				if(!reg.test(trade_money)){
					layer.alert("请输入正确金额且不超过两位小数！");
					return	false;
				   }
			
			
				validResult = true;
			
		return validResult;
	}



	